home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 01 / 6 / DISK0162.ZIP / CHARS.SB < prev    next >
Text File  |  1984-06-25  |  1KB  |  66 lines

  1. 'CHARS.RAS: Display all the PC's screen characters; modified from
  2. '            Peter Norton's book "Inside the IBM PC".
  3.  
  4. 'The debugger has been included for demonstration purposes.
  5.  
  6. INCLUDE DEBUG.INC
  7. DEBUG
  8.  
  9. INCLUDE INPUT.INC
  10. INCLUDE SCREEN.INC
  11.  
  12. PROCEDURE MAIN
  13.     DO INITIALIZE.SCREEN
  14.     DO INITIALIZE.INPUT
  15.     L.TITLE$ = "CHARS - Display the IBM PC Character Set"
  16.     R.TITLE$ = "Structured BASIC version 1.12"
  17.     DO SET.TITLES
  18.     FUNC.MSG$ = "Sample Program #1"
  19.     DO SET.FUNCTION.MSG
  20.     DO GET.DISPLAY.TYPE
  21.     DO SET.TITLES
  22.     DO SET.FUNCTION.MSG
  23.     DO BORDERS
  24.     DO BUILD.DISPLAY.ARRAY
  25.     DO FINISH
  26. ENDPROC
  27.  
  28. PROCEDURE GET.DISPLAY.TYPE
  29.     LOCATE 5,1 : PRINT "Is this a color-graphics display? ";
  30.     DO GET.YES.OR.NO
  31.     IF ANSWER = YES
  32.         SEGVAL! = &HB800    'Color segment
  33.     ELSE
  34.         SEGVAL! = &HB000    'Monochrome segment
  35.     ENDIF
  36.     DEF SEG = SEGVAL!
  37.     PRINT
  38. ENDPROC
  39.  
  40. PROCEDURE BORDERS
  41.     FOR HEX.DIGIT% = 0 TO 15
  42.         LOCATE 6,HEX.DIGIT% * 3 + 14
  43.         PRINT HEX$(HEX.DIGIT%)
  44.         LOCATE HEX.DIGIT%+8,8
  45.         PRINT HEX$(HEX.DIGIT%)
  46.     NEXT HEX.DIGIT%
  47.     LOCATE ,,0
  48. ENDPROC
  49.  
  50. PROCEDURE BUILD.DISPLAY.ARRAY
  51.     FOR ROW% = 0 TO 15
  52.         FOR COL% = 0 TO 15
  53.             POKE (ROW%+7)*160+COL%*6+26, COL%+ROW%*16
  54.         NEXT COL%
  55.     NEXT ROW%
  56.     DEF SEG
  57. ENDPROC
  58.  
  59. PROCEDURE FINISH
  60.     LINE.24.MSG$ = "Press any key to return to DOS..."
  61.     DO SET.LINE.24
  62.     DO IN.GET.KEY
  63.     DO CLEAR.SCREEN
  64.     SYSTEM
  65. ENDPROC
  66.